'\" te
.TH libsdp 3LIB " Sep 20, 2010"
.SH "NAME"
libsdp - Sockets Direct Protocol library 
.PP
.SH DESCRIPTION
.PP

libsdp is a LD_PRELOAD-able library that can be used to migrate existing
applications use InfiniBand Sockets Direct Protocol (SDP) instead of
TCP sockets, transparently and without recompilations. To setup libsdp
please follow the instructions below.

.PP
.SS SETUP
libsdp.so isn't setup automatically. it can be used in one of 2 ways:

.TP
\fB\1)
LD_PRELOAD environment variable. Setting this to the name of the library you
want to use will cause it to be preloaded.
.TP
\fB\2)
Adding the name of the library  using crle(1).
.PP

The library should be installed in a directory in which the dynamic loader
searches for shared libraries (as specified by LD_LIBRARY_PATH, crle(1) , etc). Alternatively, you can specify the full path to the library that you want to
use in LD_PRELOAD or crle(1) described above.

If you have multiple library versions (e.g. 64/32 bit) and want the linker to
select between them automatically. This done for eample using LD_LIBRARY_PATH
to point to both the lib (the 32 bit version) and lib/64 directories and
LD_RELOAD the libsdp.so. This way the correct 32/64bit libsdp.so will be
selected. For example using bash this can be written:
.PP
LD_LIBRARY_PATH=/usr/lib/secure/64/:/usr/lib/secure LD_PRELOAD=libsdp.so ssh
.RE
.PP
.SS CONFIGURATION
libsdp supports two modes of configuration:
.TP
\fB\1)
simple operation where it converts all calls to socket(2) with a family
of AF_INET(6) and a type of SOCK_STREAM into family of AF_INET_SDP.
.TP
\fB\2)
selective mode where it uses a configuration file to select which sockets
will be using SDP and which will not.
.PP
 
Note: both of these modes are designed to work with both IPv4 qand IPv6.
But only IPv4 works currently, because Solaris SDP with IPv6,
does not use AF_INET_SDP. (Note in Linux, the underlying SDP kernel
implementation does not support IPv6.)
.PP

For real world applications where communication with X, authentication,
DNS and other servers connected through TCP is required the selective mode
is required. Simple mode will be selected in one of the following conditions: 
.PP
.TP
\fB\1)
The environment variable SIMPLE_LIBSDP to a non-empty value
.TP
\fB\2)
No configuration file is defined or is un-readble
.TP
\fB\3)
The configuration file does not include any address family rule
For information on how to configure libsdp, see libsdp.conf(4), installed
in /etc/libsdp.conf  The user can further control the file to be used for
configuration by setting the environment variable: LIBSDP_CONFIG_FILE
.SH FILES
.sp
.ne 2
.mk
.na
\fB\fB/usr/lib/secure/libsdp.so\fR\fR
.ad
.RS 30n
.rt
shared object
.RE
.ne 2
.mk
.na
\fB\fB/usr/lib/secure/64/libsdp.so\fR\fR
.ad
.RS 30n
.rt
64 bit shared object
.RE

.SH SEE ALSO
.sp
.LP
\fBsocket(3SOCKET), \fBcrel(1), \fBattributes\fR(5), \fBlibsdp.conf(4)
.SH NOTES
.sp
.LP
Non-blocking connect in "both" mode defaults to SDP. Specific rules might be
needed for applications to operate properly.
